package cn.scw.project.facility.domain;

import cn.scw.framework.aspectj.lang.annotation.Excel;
import cn.scw.framework.web.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 设备对象 fac_facility
 *
 * @author api
 * @date 2020-05-20
 */
public class FacFacility extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 缩略图 */
    @Excel(name = "缩略图")
    private String litimgUrl;

    /** 设备编码 */
    @Excel(name = "设备编码")
    private String code;

    /** 设备名称 */
    @Excel(name = "设备名称")
    private String name;

    /** 位置-省 */
    @Excel(name = "位置-省")
    private String positionProvince;

    /** 位置-市 */
    @Excel(name = "位置-市")
    private String positionCity;

    /** 位置-区 */
    @Excel(name = "位置-区")
    private String positionArea;

    /** 位置详情 */
    @Excel(name = "位置详情")
    private String positionDetails;

    /** 经销商id */
    @Excel(name = "经销商id")
    private Long dealerId;

    /** 负责人 */
    @Excel(name = "负责人")
    private String leader;

    /** 负责人电话 */
    @Excel(name = "负责人电话")
    private String leaderPhone;

    /** 二维码 */
    @Excel(name = "二维码")
    private String qrCodeUrl;

    /** 设备状态（离线，正常，维修） */
    @Excel(name = "设备状态", readConverterExp = "离=线，正常，维修")
    private String status;

    /** 投放日期 */
    @Excel(name = "投放日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date putDate;

    /** 商品id */
    private Long commodityId;

    /** 租赁方式 */
    private String type;

    /** 租赁月数 */
    private int rentMonth;

    /** 租赁日期 */
    private Date rentDate;

    /** 到期日期 */
    private Date expireDate;

    /** 是否到期 */
    private boolean isExpire;

    /** 用户id*/
    private Long userId;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setLitimgUrl(String litimgUrl)
    {
        this.litimgUrl = litimgUrl;
    }

    public String getLitimgUrl()
    {
        return litimgUrl;
    }
    public void setCode(String code)
    {
        this.code = code;
    }

    public String getCode()
    {
        return code;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setPositionProvince(String positionProvince)
    {
        this.positionProvince = positionProvince;
    }

    public String getPositionProvince()
    {
        return positionProvince;
    }
    public void setPositionCity(String positionCity)
    {
        this.positionCity = positionCity;
    }

    public String getPositionCity()
    {
        return positionCity;
    }
    public void setPositionDetails(String positionDetails)
    {
        this.positionDetails = positionDetails;
    }

    public String getPositionArea() {
        return positionArea;
    }

    public void setPositionArea(String positionArea) {
        this.positionArea = positionArea;
    }

    public String getPositionDetails()
    {
        return positionDetails;
    }
    public void setDealerId(Long dealerId)
    {
        this.dealerId = dealerId;
    }

    public Long getDealerId()
    {
        return dealerId;
    }
    public void setLeader(String leader)
    {
        this.leader = leader;
    }

    public String getLeader()
    {
        return leader;
    }
    public void setLeaderPhone(String leaderPhone)
    {
        this.leaderPhone = leaderPhone;
    }

    public String getLeaderPhone()
    {
        return leaderPhone;
    }
    public void setQrCodeUrl(String qrCodeUrl)
    {
        this.qrCodeUrl = qrCodeUrl;
    }

    public String getQrCodeUrl()
    {
        return qrCodeUrl;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setPutDate(Date putDate)
    {
        this.putDate = putDate;
    }

    public Date getPutDate()
    {
        return putDate;
    }

    public Long getCommodityId() {
        return commodityId;
    }

    public void setCommodityId(Long commodityId) {
        this.commodityId = commodityId;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public int getRentMonth() {
        return rentMonth;
    }

    public void setRentMonth(int rentMonth) {
        this.rentMonth = rentMonth;
    }

    public Date getRentDate() {
        return rentDate;
    }

    public void setRentDate(Date rentDate) {
        this.rentDate = rentDate;
    }

    public Date getExpireDate() {
        return expireDate;
    }

    public void setExpireDate(Date expireDate) {
        this.expireDate = expireDate;
    }

    public boolean isExpire() {
        return isExpire;
    }

    public void setExpire(boolean expire) {
        isExpire = expire;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("litimgUrl", getLitimgUrl())
            .append("code", getCode())
            .append("name", getName())
            .append("positionProvince", getPositionProvince())
            .append("positionCity", getPositionCity())
            .append("positionDetails", getPositionDetails())
            .append("dealerId", getDealerId())
            .append("leader", getLeader())
            .append("leaderPhone", getLeaderPhone())
            .append("qrCodeUrl", getQrCodeUrl())
            .append("status", getStatus())
            .append("putDate", getPutDate())
            .append("userId", getUserId())
            .toString();
    }
}
